
//给定一个无重复元素的有序整数数组 nums 。
//返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。
//也就是说，nums 的每个元素都恰好被某个区间范围所覆盖，
//并且不存在属于某个范围但不属于 nums 的数字 x 。
//列表中的每个区间范围 [a,b] 应该按如下格式输出：
//"a->b" ，如果 a != b
//"a" ，如果 a == b
 //思路：直接往后遍历
 
 //虽然看起来是循环嵌套，但是i是同步的，所以时间复杂度为O(n);
 class Solution{
	 public List<String> summaryRanges(int[] nums){
		List<String> result=new ArrayList<>();
		if(nums.length==0){
			return result;
		}
		int i=0;
		while(i<nums.length){
			int tmp=nums[i];
			String str=String.valueOf(tmp);
			while(i+1<nums.length&&(nums[i]+1==nums[i+1]){//确保下一个数字连续并且下标不会越界
				i++;
			}
			if(tmp!=nums[i]){
				str=str+"->"+String.valueOf(nums[i]);
				result.add(str);
				i++;
			}else{
				result.add(str);
				i++;
			}
		}
		return result;
	 }
 }